﻿using System;

using System.Collections.Generic;
using System.Text;
using Silvermoon.Controls;
using Silvermoon.Controls.Interfaces;
using Silvermoon.Animations;
using Silvermoon.Core;
using Silvermoon.Controls.Classes;

using Silvermoon.UI;
using Silvermoon.Windows;
using Silvermoon.Controls.Forms;

namespace Silvermoon.Controls.Base
{
    public abstract class DialogBase : FormBase, ICompositeControl
    {

        public DialogBase()
            : base()
        {
            // fill the complete screen by default:
            Margin = Margin.Zero;
        }

        public ControlCollection Controls { get { return GetVisibleControls(); } }


        /// <summary>
        /// Gets or sets the result value for the dialog.
        /// </summary>
        public DialogResult Result { get; set; }

        public override void PreInitialize()
        {
            Parent = Screen.ActiveWindow;
            base.PreInitialize();
        }

        protected override VisualStateManager GetDefaultVisibilityManager()
        {
            return FormVisibilityManager.DefaultDialog;
        }


    }
}
